Extensible Markup Language (XML) is a markup language used to annotate data in a document, a page, or a file. XML permits data to be self-describing through the structure of the data itself. For example, in XML, an element is defined by tags and can be nested within other elements. These tags can include attributes that describe characteristics of elements. Moreover, XML supports a structured hierarchy that indicates relationships between different elements. This allows data in an XML format to be readily shared, because a recipient of XML formatted data can automatically perceive the structure and relationships between elements of the data.
XML is the basis for many document formats used today to share information, such as Atom Syndication Format (Atom), Extensible Hypertext Markup Language (XHTML), Rich Site Summary (RSS), Scalable Vector Graphics (SVG), and Simple Object Access Protocol (SOAP). This has permitted XML to become largely ubiquitous in a diverse number of fields, including web publishing and searching, e-business and office-productivity tools, communication protocols, metadata applications, and pervasive computing.
Within XML, XML Path Language (XPath) is used to identify elements or nodes within an XML-formatted document, page, or file. Syntax of XPath describes how to navigate a path to a node or node-set within an XML document. From the perspective of an expression written using XPath syntax, an XML document is like a tree with branches, each representing nodes. Therefore, an XPath expression can be used to locate, and subsequently process, items in documents having an XML format and structure, thereby facilitating the use of XML in many fields of modern computing.